package io.datajek.springbasics.movierecommendersystem.Lesson11;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;

@Component
public class RecommenderImplementation {

    private Logger logger =
            LoggerFactory.getLogger(this.getClass());
    private Filter filter;

    //使用过滤器接口选择过滤器
    //根据名字自动装配
    @Autowired
    public void setFilter(Filter filter){
        logger.info("In RecommenderImplementation setter method..dependency injection");
        this.filter = filter;
    }

    //使用过滤器来推荐
    public String[]recommendMovies(String movie){

        String[]results = filter.getRecommendations("Finding Dory");
        return  results;
    }

    @PostConstruct
    public void postConstruct(){
        //初始代码放这里
        logger.info("In RecommenderImplementation postConstruct method");
    }
    @PreDestroy
    public void preDestory(){
        //用于代码的清理
        logger.info("In RecommenderImplementation preDestory method");

    }

  }
